Overview
This website serves as my digital resume and portfolio, designed to showcase my skills and projects clearly and professionally. It also serves as the product of what I have learned and picked up from tinkering with aws services as well as pursuing my aws certifications
Technologies Used
- HTML & CSS: For structure and styling of the website.
- JavaScript: To add dynamic features such as fetching page views.
- AWS Lambda & API Gateway: Serverless backend that tracks page views.
- AWS S3: Hosting static website files securely and reliably.
- AWS CloudFront: Content delivery network (CDN) to improve loading speed worldwide.
How It Works
When you visit my resume page, a JavaScript function calls an AWS Lambda function via an Lambda function URL. This Lambda function increments and returns the total number of page views, which is then displayed in real-time on the page.
The website itself is a static site hosted on an AWS S3 bucket configured for web hosting, with CloudFront distributing the content globally for fast access. I also own a custom domain provided by route 53 which i had to utilise certificate manager for
Cloud Architecture Diagram
This diagram shows how the AWS components (Lambda, API Gateway, S3, CloudFront) work together to serve and manage the website.
What went well?
-
Using Python in my Lambda function went smoothly, as it was already a very familiar concept to me. This helped make my site responsive.
-
Hosting my CV on S3 with CloudFront made my site globally accessible with fast load times.
-
I followed good practice by keeping CSS, JavaScript, and HTML separate.
What was a struggle?
-
In one of the tougher stretches of my certification journey, my site stayed offline because its DNS records hadn’t propagated. After pinpointing the missing domain registration as the root cause as well as a leading . I registered the domain and turned to Linux tools like nslookup and dig to track each update. Within an hour the records took effect, the site went live, and I was able to validate the certification.
-
When updating my s3 bucket the website never changed, through research i found ou there was a caching issue with cloudfront and i therefore needed to invalidate the cache
-
HTML and CSS were relatively new to me at the start of this project, so I had to spend time learning how they work together to structure and style a web page. This involved understanding semantic HTML, CSS selectors, and responsive design. Through trial and error and online resources, I gained confidence in building clean, readable layouts.
Why AWS?
Using AWS allows me to build a scalable, cost-effective, and serverless website that can easily grow and adapt with my portfolio. It also helps me gain hands-on experience with cloud technologies, which is a key interest area for me.